package me.zhengjie.modules.app.domain;

import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

@TableName("game_rounds")
public class GameRounds {
    /**
     * id
     */
    private Long id;

    /**
     * 对战记录ID
     */
    private String recordId;

    /**
     * 第几局
     */
    private Integer roundNum;

    /**
     * 赢家
     */
    private Long winnerId;

    /**
     * 赢家类型：0-玩家，1-AI，2-流局，3-平手
     */
    private Integer winnerType;

    /**
     * 先手对局  0：用户 1:AI
     */
    private Integer userOpen;

    /**
     * 出牌记录
     */
    private String cardPlayActionSeq;
    /**
     * 玩家1总得分
     */
    private Integer scoreP1;

    /**
     * 玩家2总得分
     */
    private Integer scoreP2;

    /**
     * 本局时长（秒）
     */
    private Integer duration;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 初始牌局记录
     */
    private String initialCards;

    /**
     * 获取id
     *
     * @return id - id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置id
     *
     * @param id id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取对战记录ID
     *
     * @return record_id - 对战记录ID
     */
    public String getRecordId() {
        return recordId;
    }

    /**
     * 设置对战记录ID
     *
     * @param recordId 对战记录ID
     */
    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    /**
     * 获取第几局
     *
     * @return round_num - 第几局
     */
    public Integer getRoundNum() {
        return roundNum;
    }

    /**
     * 设置第几局
     *
     * @param roundNum 第几局
     */
    public void setRoundNum(Integer roundNum) {
        this.roundNum = roundNum;
    }

    /**
     * 获取赢家
     *
     * @return winner_id - 赢家
     */
    public Long getWinnerId() {
        return winnerId;
    }

    /**
     * 设置赢家
     *
     * @param winnerId 赢家
     */
    public void setWinnerId(Long winnerId) {
        this.winnerId = winnerId;
    }

    /**
     * 获取赢家类型：0-玩家，1-AI，2-流局，3-平手
     *
     * @return winner_type - 赢家类型：0-玩家，1-AI，2-流局，3-平手
     */
    public Integer getWinnerType() {
        return winnerType;
    }

    /**
     * 设置赢家类型：0-玩家，1-AI，2-流局，3-平手
     *
     * @param winnerType 赢家类型：0-玩家，1-AI，2-流局，3-平手
     */
    public void setWinnerType(Integer winnerType) {
        this.winnerType = winnerType;
    }

    /**
     * 获取玩家1总得分
     *
     * @return score_p1 - 玩家1总得分
     */
    public Integer getScoreP1() {
        return scoreP1;
    }

    /**
     * 设置玩家1总得分
     *
     * @param scoreP1 玩家1总得分
     */
    public void setScoreP1(Integer scoreP1) {
        this.scoreP1 = scoreP1;
    }

    /**
     * 获取玩家2总得分
     *
     * @return score_p2 - 玩家2总得分
     */
    public Integer getScoreP2() {
        return scoreP2;
    }

    /**
     * 设置玩家2总得分
     *
     * @param scoreP2 玩家2总得分
     */
    public void setScoreP2(Integer scoreP2) {
        this.scoreP2 = scoreP2;
    }

    /**
     * 获取本局时长（秒）
     *
     * @return duration - 本局时长（秒）
     */
    public Integer getDuration() {
        return duration;
    }

    /**
     * 设置本局时长（秒）
     *
     * @param duration 本局时长（秒）
     */
    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取初始牌局记录
     *
     * @return initial_cards - 初始牌局记录
     */
    public String getInitialCards() {
        return initialCards;
    }

    /**
     * 设置初始牌局记录
     *
     * @param initialCards 初始牌局记录
     */
    public void setInitialCards(String initialCards) {
        this.initialCards = initialCards;
    }


    public Integer getUserOpen() {
        return userOpen;
    }

    public void setUserOpen(Integer userOpen) {
        this.userOpen = userOpen;
    }

    public String getCardPlayActionSeq() {
        return cardPlayActionSeq;
    }

    public void setCardPlayActionSeq(String cardPlayActionSeq) {
        this.cardPlayActionSeq = cardPlayActionSeq;
    }
}